import type { AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig } from 'axios'

export interface RequestInterceptors {
	requestInterceptor?: (config: InternalAxiosRequestConfig) => InternalAxiosRequestConfig
	requestInterceptorCatch?: (err: any) => any
	responseInterceptor?: (config: AxiosResponse) => AxiosResponse
	responseInterceptorCatch?: (err: any) => any
}

export interface RequestConfig extends AxiosRequestConfig {
	interceptors?: RequestInterceptors
	adapter?: any
}